package net.csdn.business.discuss.api.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.csdn.business.discuss.api.model.entity.DiscussVote;
import net.csdn.business.discuss.api.model.query.DiscussVoteQuery;
import net.csdn.business.discuss.api.model.vo.DiscussVoteVO;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

/**
 * 讨论投票信息Mapper接口
 * 
 * @author ruoyi
 * @date 2023-07-25
 */
public interface DiscussVoteMapper extends BaseMapper<DiscussVote>
{

    /**
     * 分页查询讨论投票信息列表
     *
     * @param query 字典类型信息
     * @return 字典类型集合信息
     */
    public List<DiscussVoteVO> findPageList(Page page, @Param("query") DiscussVoteQuery query);

    /**
     * 查询讨论投票信息
     * 
     * @param discussId 讨论投票信息主键
     * @return 讨论投票信息
     */
    @Select("select * from discuss_vote where discuss_id=#{discussId}")
    public DiscussVoteVO selectVoteByDiscussId(String discussId);

    /**
     * 查询讨论投票信息列表
     * 
     * @param query 讨论投票信息
     * @return 讨论投票信息集合
     */
    public List<DiscussVoteVO> selectDiscussVoteList(@Param("query") DiscussVoteQuery query);

    /**
     * 新增讨论投票信息
     * 
     * @param discussVote 讨论投票信息
     * @return 结果
     */
    public Integer insertDiscussVote(DiscussVote discussVote);

    /**
     * 修改讨论投票信息
     * 
     * @param discussVote 讨论投票信息
     * @return 结果
     */
    public Integer updateDiscussVote(DiscussVote discussVote);

    /**
     * 根据讨论id,删除讨论投票信息
     * 
     * @param discussId 讨论主键
     * @return 结果
     */
    @Delete("delete from discuss_vote where discuss_id=#{discussId}")
    public Integer deleteVoteByDiscussId(String discussId);


    @Update("update discuss_vote set vote_total=vote_total+1  where  discuss_id=#{discussId}")
    public Integer addVoteTotal(String discussId);


}
